package cst.a728hyl.startproject_728hyl.model;

import cst.a728hyl.startproject_728hyl.bean.WeatherResult;
import cst.a728hyl.startproject_728hyl.bean.Weatherinfo;
import cst.a728hyl.startproject_728hyl.iface.Weatheriface;
import cst.a728hyl.startproject_728hyl.listener.WeatherListener;
import cst.a728hyl.startproject_728hyl.service.WeatherService;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * Created by HP on 2017/5/7.
 */

public class WeatherModel implements Weatheriface {
    private Retrofit retrofit;
    private WeatherService service;
    public static final String BASE_URL="http://www.weather.com.cn";

    public WeatherModel() {
        retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

    }

    @Override
    public Weatherinfo getWeather(String c, final WeatherListener l){
        service = retrofit.create(WeatherService.class);
        Call<WeatherResult> call = service.getWeather(c);
        call.enqueue(new Callback<WeatherResult>() {
            @Override
            public void onResponse(Call<WeatherResult> call,
                                   Response<WeatherResult> response) {
                l.onResponse(response.body().getWeatherinfo());

            }

            @Override
            public void onFailure(Call<WeatherResult> call, Throwable t) {
                l.onFail(t.toString());

            }
        });

        return null;
    }

}
